package com.lyw.spring.demo.controller;

import jakarta.servlet.http.HttpSession;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/user")
@RestController
public class UserController {

    @RequestMapping("/login")
    public boolean login(String userName, String password, HttpSession session) {
        //参数校验
/*        if (userName == null || userName == "" || password == null || password == "") {
            return false;
        }//一般不用这种方法*/

        //用spring提供的工具类
        if (!StringUtils.hasText(userName) || !StringUtils.hasText(password)) {
            return false;
        }

        //校验用户名和密码是否正确
        //未学习数据库相关操作, 暂且把账号密码写死
        //用常量字符串.equals()变量字符串为了防止发生空指针异常虽然前面已经校验但不能保证每次记得, 但是还是建议用常量字符串.equals()变量字符串
        if ("admin".equals(userName) && "123456".equals(password)) {
            //设置session
            session.setAttribute("userName", userName);
            return true;
        }

        return false;
    }

    @RequestMapping("getLogUser")
    public String getLogUser(HttpSession session) {
        String userName = (String) session.getAttribute("userName");
        return userName;
    }



    //虽然逻辑一样但不推荐下面这种写法 尽量减少嵌套
    @RequestMapping("/login2")
    public boolean login2(String userName, String password) {
        if (StringUtils.hasText(userName) && StringUtils.hasText(password)) {
            if ("admin".equals(userName) && "123456".equals(password)) {
                return true;
            }
        }

        return false;
    }
}
